home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / DSPFA.z / DSPFA
Text File  |  1996-03-14  |  2KB  |  67 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSPPPPFFFFAAAA((((3333FFFF))))                                                            DDDDSSSSPPPPFFFFAAAA((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSPFA   - DSPFA factors a double precision symmetric matrix stored in
  10.      packed form by elimination with symmetric pivoting.
  11.  
  12.      To solve  A*X = B , follow DSPFA by DSPSL.  To compute  INVERSE(A)*C ,
  13.      follow DSPFA by DSPSL.  To compute  DETERMINANT(A) , follow DSPFA by
  14.      DSPDI.  To compute  INERTIA(A) , follow DSPFA by DSPDI.  To compute
  15.      INVERSE(A) , follow DSPFA by DSPDI.
  16.  
  17.  
  18. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  19.       SUBROUTINE DSPFA(AP,N,KPVT,INFO)
  20.  
  21. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  22.      On Entry
  23.  
  24.      AAAAPPPP DOUBLE PRECISION (N*(N+1)/2)
  25.         the packed form of a symmetric matrix  A .  The
  26.         columns of the upper triangle are stored sequentially
  27.         in a one-dimensional array of length  N*(N+1)/2 .
  28.         See comments below for details.
  29.  
  30.      NNNN INTEGER
  31.         the order of the matrix  A .  Output
  32.  
  33.      AAAAPPPP a block diagonal matrix and the multipliers which
  34.         were used to obtain it stored in packed form.
  35.         The factorization can be written  A = U*D*TRANS(U)
  36.         where  U  is a product of permutation and unit
  37.         upper triangular matrices, TRANS(U) is the
  38.         transpose of  U , and  D  is block diagonal
  39.         with 1 by 1 and 2 by 2 blocks.
  40.  
  41.      KKKKPPPPVVVVTTTT INTEGER(N)
  42.         an integer vector of pivot indices.
  43.  
  44.      IIIINNNNFFFFOOOO INTEGER
  45.         = 0  normal value.
  46.         = K  if the K-th pivot block is singular.  This is
  47.         not an error condition for this subroutine,
  48.         but it does indicate that DSPSL or DSPDI may
  49.         divide by zero if called.  Packed Storage The following program
  50.      segment will pack the upper triangle of a symmetric matrix.
  51.         K = 0
  52.         DO 20 J = 1, N
  53.         DO 10 I = 1, J
  54.         K = K + 1
  55.         AP(K)  = A(I,J)
  56.         10    CONTINUE
  57.         20 CONTINUE LINPACK.  This version dated 08/14/78 .  James Bunch,
  58.      Univ. Calif. San Diego, Argonne Nat. Lab.  Subroutines and Functions BLAS
  59.      DAXPY,DSWAP,IDAMAX Fortran DABS,DMAX1,DSQRT
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.